旁路由折腾熟悉之后,我又开始觊觎软路由的方便,于是不久前借着双十一,下单了早有耳闻的NanoPi R2S,177大洋,有散热片有风扇有外壳,还算划算。奈何我跟OpenWRT八字不合,上次树莓派是半天LUCI进不去,这次是FriendWRT官方固件砍掉了tproxy模式。在重新编译固件依然无法成功富强之后。我又掏出了祖传技能,直接用了FriendlyCore(基于Ubuntu)秒杀了富强网关的需求。这个方式也非常通用,不只是R2S,也不仅限于Ubuntu,理论上可以将任何一个双网口的运行Linux并且使用Systemd的机器变成软路由。
刷好FriendlyCore之后直接插卡开机,然后就能在路由器管理页面看到该设备的ip地址。我们ssh上去就可以进行配置了,默认用户名和密码都是pi。
配置文件参考:
systemd-network
对应这台机器就是直接在终端执行
sudo vim /etc/systemd/network/eth0.network
然后把下面的内容复制进去。
[Match]
Name=eth0
[Network]
DHCP=ipv4
一个软路由本质上就是开启了DHCP服务,DNS服务,网络层包转发的多网口计算机。因此在常规的配置中,通常会配置dnsmasq来做DHCP服务器,并同时担任DNS服务器。然后通过sysctl打开ip包转发,然后用iptables完成包的转发。
但是现在,systemd都包含了这些功能,不需到别的地方到处配置,也不需要再多装什么包,只需把systemd配置好就能完成这些。
我们依然是进入终端,执行
sudo vim /etc/systemd/network/eth1.network
然后把下面的内容复制粘贴进去后,保存并退出。
[Match]
Name=eth1
[Network]
Address=192.168.25.1/24
DHCPServer=true
IPMasquerade=true
[DHCPServer]
PoolOffset=100
PoolSize=50
EmitDNS=yes
DNS=223.5.5.5
/etc/syst